<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="MonoURL" targetNamespace="http://tempuri.org/DataSet.xsd" xmlns:mstns="http://tempuri.org/DataSet.xsd" xmlns="http://tempuri.org/DataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
  <xs:annotation>
    <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
      <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
        <Connections>
          <Connection AppSettingsObjectName="Web.config" AppSettingsPropertyName="monoConnectionString" ConnectionStringObject="" IsAppSettingsProperty="True" Modifier="Assembly" Name="monoConnectionString (Web.config)" ParameterPrefix="@" PropertyReference="AppConfig.System.Configuration.ConfigurationManager.0.ConnectionStrings.monoConnectionString.ConnectionString" Provider="System.Data.SQLite">
          </Connection>
        </Connections>
        <Tables>
          <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="MonourlTableAdapter" GeneratorDataComponentClassName="MonourlTableAdapter" Name="Monourl" UserDataComponentName="MonourlTableAdapter">
            <MainSource>
              <DbSource ConnectionRef="monoConnectionString (Web.config)" DbObjectName="main.Monourl" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="True" GeneratorGetMethodName="FetchUsingPK" GetMethodModifier="Public" GetMethodName="FetchUsingPK" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="FetchUsingPK" UserSourceName="FetchUsingPK">
                <DeleteCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="False">
                    <CommandText>DELETE FROM [Monourl] WHERE (([ShortURL] = @Original_ShortURL))</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_ShortURL" Precision="0" ProviderType="String" Scale="0" Size="0" SourceColumn="ShortURL" SourceColumnNullMapping="False" SourceVersion="Original">
                      </Parameter>
                    </Parameters>
                  </DbCommand>
                </DeleteCommand>
                <InsertCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="False">
                    <CommandText>INSERT INTO [Monourl] ([LongURL], [ShortURL], [ExpiryDate], [MaskInd], [LastVisited], [VisitedCount], [CreatedDate]) VALUES (@LongURL, @ShortURL, @ExpiryDate, @MaskInd, @LastVisited, @VisitedCount, @CreatedDate)</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@LongURL" Precision="0" ProviderType="String" Scale="0" Size="0" SourceColumn="LongURL" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@ShortURL" Precision="0" ProviderType="String" Scale="0" Size="0" SourceColumn="ShortURL" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@ExpiryDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ExpiryDate" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@MaskInd" Precision="0" ProviderType="Int64" Scale="0" Size="0" SourceColumn="MaskInd" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@LastVisited" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="LastVisited" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@VisitedCount" Precision="0" ProviderType="Int64" Scale="0" Size="0" SourceColumn="VisitedCount" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CreatedDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreatedDate" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                    </Parameters>
                  </DbCommand>
                </InsertCommand>
                <SelectCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="True">
                    <CommandText>SELECT        Monourl.*
FROM            Monourl
WHERE        (ShortURL = @ShortURL)</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="False" AutogeneratedName="ShortURL" ColumnName="ShortURL" DataSourceName="main.Monourl" DataTypeServer="varchar" DbType="String" Direction="Input" ParameterName="@ShortURL" Precision="0" ProviderType="String" Scale="0" Size="2147483647" SourceColumn="ShortURL" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                    </Parameters>
                  </DbCommand>
                </SelectCommand>
                <UpdateCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="False">
                    <CommandText>UPDATE [Monourl] SET [LongURL] = @LongURL, [ShortURL] = @ShortURL, [ExpiryDate] = @ExpiryDate, [MaskInd] = @MaskInd, [LastVisited] = @LastVisited, [VisitedCount] = @VisitedCount, [CreatedDate] = @CreatedDate WHERE (([ShortURL] = @Original_ShortURL))</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@LongURL" Precision="0" ProviderType="String" Scale="0" Size="0" SourceColumn="LongURL" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@ShortURL" Precision="0" ProviderType="String" Scale="0" Size="0" SourceColumn="ShortURL" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@ExpiryDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="ExpiryDate" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@MaskInd" Precision="0" ProviderType="Int64" Scale="0" Size="0" SourceColumn="MaskInd" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@LastVisited" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="LastVisited" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@VisitedCount" Precision="0" ProviderType="Int64" Scale="0" Size="0" SourceColumn="VisitedCount" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CreatedDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreatedDate" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                      <Parameter AllowDbNull="False" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_ShortURL" Precision="0" ProviderType="String" Scale="0" Size="0" SourceColumn="ShortURL" SourceColumnNullMapping="False" SourceVersion="Original">
                      </Parameter>
                    </Parameters>
                  </DbCommand>
                </UpdateCommand>
              </DbSource>
            </MainSource>
            <Mappings>
              <Mapping SourceColumn="LongURL" DataSetColumn="LongURL" />
              <Mapping SourceColumn="ShortURL" DataSetColumn="ShortURL" />
              <Mapping SourceColumn="ExpiryDate" DataSetColumn="ExpiryDate" />
              <Mapping SourceColumn="MaskInd" DataSetColumn="MaskInd" />
              <Mapping SourceColumn="LastVisited" DataSetColumn="LastVisited" />
              <Mapping SourceColumn="VisitedCount" DataSetColumn="VisitedCount" />
              <Mapping SourceColumn="CreatedDate" DataSetColumn="CreatedDate" />
            </Mappings>
            <Sources>
              <DbSource ConnectionRef="monoConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="DeleteExpiredUrls" Modifier="Public" Name="DeleteExpiredUrls" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="DeleteExpiredUrls">
                <DeleteCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="True">
                    <CommandText>Delete from Monourl Where ExpiryDate &lt; date('now')</CommandText>
                    <Parameters>
                    </Parameters>
                  </DbCommand>
                </DeleteCommand>
              </DbSource>
              <DbSource ConnectionRef="monoConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="DeleteUnusedURLS" Modifier="Public" Name="DeleteUnusedURLS" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy2" UserSourceName="DeleteUnusedURLS">
                <DeleteCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="True">
                    <CommandText>Delete from MonoURL where LastVisited &lt; @LastVisited</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="False" AutogeneratedName="LastVisited" ColumnName="" DataSourceName="" DataTypeServer="unknown" DbType="Object" Direction="Input" ParameterName="@LastVisited" Precision="0" Scale="0" Size="1024" SourceColumn="" SourceColumnNullMapping="False" SourceVersion="Original">
                      </Parameter>
                    </Parameters>
                  </DbCommand>
                </DeleteCommand>
              </DbSource>
              <DbSource ConnectionRef="monoConnectionString (Web.config)" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="GetCount" Modifier="Public" Name="GetCount" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="GetCount">
                <SelectCommand>
                  <DbCommand CommandType="Text" ModifiedByUser="True">
                    <CommandText>SELECT        COUNT(*)
FROM            Monourl
WHERE        (ShortURL = @ShortURL)</CommandText>
                    <Parameters>
                      <Parameter AllowDbNull="False" AutogeneratedName="ShortURL" ColumnName="" DataSourceName="" DataTypeServer="unknown" DbType="Object" Direction="Input" ParameterName="@ShortURL" Precision="0" Scale="0" Size="1024" SourceColumn="" SourceColumnNullMapping="False" SourceVersion="Current">
                      </Parameter>
                    </Parameters>
                  </DbCommand>
                </SelectCommand>
              </DbSource>
            </Sources>
          </TableAdapter>
        </Tables>
        <Sources>
        </Sources>
      </DataSource>
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="MonoURL" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="MonoURL" msprop:Generator_DataSetName="MonoURL">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Monourl" msprop:Generator_UserTableName="Monourl" msprop:Generator_RowDeletedName="MonourlRowDeleted" msprop:Generator_RowChangedName="MonourlRowChanged" msprop:Generator_RowClassName="MonourlRow" msprop:Generator_RowChangingName="MonourlRowChanging" msprop:Generator_RowEvArgName="MonourlRowChangeEvent" msprop:Generator_RowEvHandlerName="MonourlRowChangeEventHandler" msprop:Generator_TableClassName="MonourlDataTable" msprop:Generator_TableVarName="tableMonourl" msprop:Generator_RowDeletingName="MonourlRowDeleting" msprop:Generator_TablePropName="_Monourl">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="LongURL" msprop:Generator_UserColumnName="LongURL" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="LongURL" msprop:Generator_ColumnPropNameInTable="LongURLColumn" msprop:Generator_ColumnVarNameInTable="columnLongURL">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="2147483647" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ShortURL" msprop:Generator_UserColumnName="ShortURL" msprop:Generator_ColumnPropNameInRow="ShortURL" msprop:Generator_ColumnVarNameInTable="columnShortURL" msprop:Generator_ColumnPropNameInTable="ShortURLColumn">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="2147483647" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ExpiryDate" msprop:Generator_UserColumnName="ExpiryDate" msprop:Generator_ColumnPropNameInRow="ExpiryDate" msprop:Generator_ColumnVarNameInTable="columnExpiryDate" msprop:Generator_ColumnPropNameInTable="ExpiryDateColumn" type="xs:dateTime" minOccurs="0" />
              <xs:element name="MaskInd" msprop:Generator_UserColumnName="MaskInd" msprop:Generator_ColumnPropNameInRow="MaskInd" msprop:Generator_ColumnVarNameInTable="columnMaskInd" msprop:Generator_ColumnPropNameInTable="MaskIndColumn" type="xs:long" />
              <xs:element name="LastVisited" msprop:Generator_UserColumnName="LastVisited" msprop:Generator_ColumnPropNameInRow="LastVisited" msprop:Generator_ColumnVarNameInTable="columnLastVisited" msprop:Generator_ColumnPropNameInTable="LastVisitedColumn" type="xs:dateTime" minOccurs="0" />
              <xs:element name="VisitedCount" msprop:Generator_UserColumnName="VisitedCount" msprop:Generator_ColumnPropNameInRow="VisitedCount" msprop:Generator_ColumnVarNameInTable="columnVisitedCount" msprop:Generator_ColumnPropNameInTable="VisitedCountColumn" type="xs:long" minOccurs="0" />
              <xs:element name="CreatedDate" msprop:Generator_UserColumnName="CreatedDate" msprop:Generator_ColumnVarNameInTable="columnCreatedDate" msprop:Generator_ColumnPropNameInRow="CreatedDate" msprop:Generator_ColumnPropNameInTable="CreatedDateColumn" type="xs:dateTime" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//mstns:Monourl" />
      <xs:field xpath="mstns:ShortURL" />
    </xs:unique>
  </xs:element>
</xs:schema>